/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package MiniCurso.controle;

import MiniCurso.modelo.Aluno;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import javax.enterprise.context.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Named;

/**
 *
 * @author Cassio
 */
@Named("beanAluno")
@SessionScoped

public class BeanAluno implements Serializable {

    private Aluno aluno = new Aluno();
    private Collection<Aluno> listAluno = new ArrayList<Aluno>();
    private boolean edit;
    private boolean remove;

    public boolean isRemove() {
        return remove;
    }

    public boolean isEdit() {
        return edit;
    }

    public void setRemove(boolean remove) {
        this.remove = remove;
    }

    public void setListAluno(ArrayList<Aluno> ListAluno) {
        this.listAluno = ListAluno;
    }

    public Collection<Aluno> getListAluno() {
        return listAluno;
    }

    public Aluno getAluno() {
        return aluno;
    }

    public void setAluno(Aluno aluno) {
        this.aluno = aluno;
    }

    public String excluir() {
        getListAluno().remove(getAluno());
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Aluno excluido com sucesso!", null));
        Aluno a = new Aluno();
        setAluno(a);
        return "listar";
    }

    public String remover(Aluno aluno) {
        this.aluno = aluno;
        remove = true;
        return "excluir";
    }

    public String inserir() {
        getListAluno().add(getAluno());
        Aluno a = new Aluno();
        setAluno(a);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Aluno adicionado com sucesso!", null));
        return "listar";
    }

    public String editar(Aluno aluno) {
        this.aluno = aluno;
        edit = true;
        return "editar";
    }

    public String salvar() {
        edit = false;
        Aluno a = new Aluno();
        setAluno(a);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Aluno editado com sucesso!", null));
        return "listar";
    }

    public String cancelar() {
        Aluno a = new Aluno();
        setAluno(a);
        return "listar";
    }
}
